package com.zp.base.service.serialNumberDict;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zp.base.entity.serialNumberDict.SerialNumberDict;
import com.zp.base.entity.serialNumberDict.bo.SerialNumberDictBo;
import com.zp.base.entity.serialNumberDict.vo.SerialNumberDictVo;
import com.zp.common.myBatis.core.page.PageQuery;
import com.zp.common.myBatis.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 业务系统单号、序号字典Service接口
 *
 * @author zhang peng
 * @ date 2023-07-07
 */
public interface ISerialNumberDictService {

    /**
     * 查询业务系统单号、序号字典
     */
    SerialNumberDictVo queryById (String noId);

    /**
     * 获取单条记录
     *
     * @param bo
     * @return
     */
    SerialNumberDictVo queryOne (SerialNumberDictBo bo);

    /**
     * 查询业务系统单号、序号字典列表(分页)
     */
    TableDataInfo<SerialNumberDictVo> queryPageList (SerialNumberDictBo bo, PageQuery pageQuery);

    /**
     * 查询业务系统单号、序号字典列表(不分页)
     */
    List<SerialNumberDictVo> queryList (SerialNumberDictBo bo);

    /**
     * 修改业务系统单号、序号字典
     */
    SerialNumberDictBo insertByBo (SerialNumberDictBo bo);

    /**
     * 修改业务系统单号、序号字典
     */
    SerialNumberDictBo updateByBo (SerialNumberDictBo bo);

    /**
     * 校验并批量删除业务系统单号、序号字典信息
     */
    Boolean deleteWithValidByIds (Collection<String> ids, Boolean isValid);

    SerialNumberDictBo updateInfo (SerialNumberDictBo bo);

    /**
     * 修改对应的申请序号
     *
     * @param lambdaUpdateWrapper
     * @return
     */
    Boolean updateSerialNumbers (LambdaUpdateWrapper<SerialNumberDict> lambdaUpdateWrapper);
}
